package com.serviceprovider.business.module.taxpayer.model;

//~--- non-JDK imports --------------------------------------------------------

import com.serviceprovider.business.module.sp.payee.model.Saveable;

import org.springmodules.validation.bean.conf.loader.annotation.handler.NotBlank;
import org.springmodules.validation.bean.conf.loader.annotation.handler.NotNull;

//~--- JDK imports ------------------------------------------------------------

import java.util.Date;

public class TaxPayerInfo extends Saveable {
    private static final long serialVersionUID = 1L;
    private String            acctNum;
    private String            agreement;
    private Double            amountExpcted;
    private Double            amountReceived;
    private String            applyItin;
    private String            awaitingITIN;
    private String            back;
    private String            cellCarrier;
    private String            cellNum;
    private String            childSupport;
    private String            comments;
    private String            contractAggrement;
    private Date              dOB;
    private String            discloseAggrement;
    @NotBlank
    private Date              expDt;
    private String            familyITIN;
    @NotBlank
    private String            firstName;
    private String            homePhone;
    @NotBlank
    private String            identificationNum;
    @NotBlank
    private Date              issueDt;
    @NotBlank
    private String            issuedBy;
    @NotBlank
    private String            lastName;
    private String            loans;
    private String            match;
    private String            middleName;
    private String            misc;
    private String            productRequestd;
    private String            resAddr;
    private String            routingNum;
    private String            spouseApplyITIN;
    private Date              spouseDOB;
    private String            spouseFirstNm;
    private Date              spouseIdExpDt;
    private Date              spouseIdIssueDt;
    private String            spouseIdentificationNum;
    private String            spouseIssuedBy;
    private String            spouseLastNm;
    private String            spouseMiddleNm;
    private Integer           spouseSSNITIN;
    private String            streetAddr;
    @NotNull
    private Integer           taxPayerSSNITIN;
    private Integer           transactionNum;
    private String            useAggrement;
    private String            zipCode;

    public Integer getTaxPayerSSNITIN() {
        return taxPayerSSNITIN;
    }

    public void setTaxPayerSSNITIN(Integer taxPayerSSNITIN) {
        this.taxPayerSSNITIN = taxPayerSSNITIN;
    }

    public Integer getTransactionNum() {
        return transactionNum;
    }

    public void setTransactionNum(Integer transactionNum) {
        this.transactionNum = transactionNum;
    }

    public String getFirstName() {
        return firstName;
    }

    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }

    public String getLastName() {
        return lastName;
    }

    public void setLastName(String lastName) {
        this.lastName = lastName;
    }

    public String getMiddleName() {
        return middleName;
    }

    public void setMiddleName(String middleName) {
        this.middleName = middleName;
    }

    public Date getDOB() {
        return dOB;
    }

    public void setDOB(Date dOB) {
        dOB = dOB;
    }

    public String getIdentificationNum() {
        return identificationNum;
    }

    public void setIdentificationNum(String identificationNum) {
        this.identificationNum = identificationNum;
    }

    public String getIssuedBy() {
        return issuedBy;
    }

    public void setIssuedBy(String issuedBy) {
        this.issuedBy = issuedBy;
    }

    public String getSpouseIssuedBy() {
        return spouseIssuedBy;
    }

    public void setSpouseIssuedBy(String spouseIssuedBy) {
        this.spouseIssuedBy = spouseIssuedBy;
    }

    public Date getIssueDt() {
        return issueDt;
    }

    public void setIssueDt(Date issueDt) {
        this.issueDt = issueDt;
    }

    public Date getExpDt() {
        return expDt;
    }

    public void setExpDt(Date expDt) {
        this.expDt = expDt;
    }

    public String getApplyItin() {
        return applyItin;
    }

    public void setApplyItin(String applyItin) {
        this.applyItin = applyItin;
    }

    public Integer getSpouseSSNITIN() {
        return spouseSSNITIN;
    }

    public void setSpouseSSNITIN(Integer spouseSSNITIN) {
        this.spouseSSNITIN = spouseSSNITIN;
    }

    public String getSpouseFirstNm() {
        return spouseFirstNm;
    }

    public void setSpouseFirstNm(String spouseFirstNm) {
        this.spouseFirstNm = spouseFirstNm;
    }

    public String getSpouseLastNm() {
        return spouseLastNm;
    }

    public void setSpouseLastNm(String spouseLastNm) {
        this.spouseLastNm = spouseLastNm;
    }

    public String getSpouseMiddleNm() {
        return spouseMiddleNm;
    }

    public void setSpouseMiddleNm(String spouseMiddleNm) {
        this.spouseMiddleNm = spouseMiddleNm;
    }

    public Date getSpouseDOB() {
        return spouseDOB;
    }

    public void setSpouseDOB(Date spouseDOB) {
        this.spouseDOB = spouseDOB;
    }

    public String getSpouseIdentificationNum() {
        return spouseIdentificationNum;
    }

    public void setSpouseIdentificationNum(String spouseIdentificationNum) {
        this.spouseIdentificationNum = spouseIdentificationNum;
    }

    public Date getSpouseIdIssueDt() {
        return spouseIdIssueDt;
    }

    public void setSpouseIdIssueDt(Date spouseIdIssueDt) {
        this.spouseIdIssueDt = spouseIdIssueDt;
    }

    public Date getSpouseIdExpDt() {
        return spouseIdExpDt;
    }

    public void setSpouseIdExpDt(Date spouseIdExpDt) {
        this.spouseIdExpDt = spouseIdExpDt;
    }

    public String getSpouseApplyITIN() {
        return spouseApplyITIN;
    }

    public void setSpouseApplyITIN(String spouseApplyITIN) {
        this.spouseApplyITIN = spouseApplyITIN;
    }

    public String getResAddr() {
        return resAddr;
    }

    public void setResAddr(String resAddr) {
        this.resAddr = resAddr;
    }

    public String getStreetAddr() {
        return streetAddr;
    }

    public void setStreetAddr(String streetAddr) {
        this.streetAddr = streetAddr;
    }

    public String getZipCode() {
        return zipCode;
    }

    public void setZipCode(String zipCode) {
        this.zipCode = zipCode;
    }

    public String getHomePhone() {
        return homePhone;
    }

    public void setHomePhone(String homePhone) {
        this.homePhone = homePhone;
    }

    public String getCellNum() {
        return cellNum;
    }

    public void setCellNum(String cellNum) {
        this.cellNum = cellNum;
    }

    public String getCellCarrier() {
        return cellCarrier;
    }

    public void setCellCarrier(String cellCarrier) {
        this.cellCarrier = cellCarrier;
    }

    public String getProductRequestd() {
        return productRequestd;
    }

    public void setProductRequestd(String productRequestd) {
        this.productRequestd = productRequestd;
    }

    public String getRoutingNum() {
        return routingNum;
    }

    public void setRoutingNum(String routingNum) {
        this.routingNum = routingNum;
    }

    public String getAcctNum() {
        return acctNum;
    }

    public void setAcctNum(String acctNum) {
        this.acctNum = acctNum;
    }

    public String getAgreement() {
        return agreement;
    }

    public void setAgreement(String agreement) {
        this.agreement = agreement;
    }

    public String getDiscloseAggrement() {
        return discloseAggrement;
    }

    public void setDiscloseAggrement(String discloseAggrement) {
        this.discloseAggrement = discloseAggrement;
    }

    public String getUseAggrement() {
        return useAggrement;
    }

    public void setUseAggrement(String useAggrement) {
        this.useAggrement = useAggrement;
    }

    public String getContractAggrement() {
        return contractAggrement;
    }

    public void setContractAggrement(String contractAggrement) {
        this.contractAggrement = contractAggrement;
    }

    public String getMatch() {
        return match;
    }

    public void setMatch(String match) {
        this.match = match;
    }

    public Double getAmountExpcted() {
        return amountExpcted;
    }

    public void setAmountExpcted(Double amountExpcted) {
        this.amountExpcted = amountExpcted;
    }

    public Double getAmountReceived() {
        return amountReceived;
    }

    public void setAmountReceived(Double amountReceived) {
        this.amountReceived = amountReceived;
    }

    public String getComments() {
        return comments;
    }

    public void setComments(String comments) {
        this.comments = comments;
    }

    public String getFamilyITIN() {
        return familyITIN;
    }

    public void setFamilyITIN(String familyITIN) {
        this.familyITIN = familyITIN;
    }

    public String getChildSupport() {
        return childSupport;
    }

    public void setChildSupport(String childSupport) {
        this.childSupport = childSupport;
    }

    public String getLoans() {
        return loans;
    }

    public void setLoans(String loans) {
        this.loans = loans;
    }

    public String getBack() {
        return back;
    }

    public void setBack(String back) {
        this.back = back;
    }

    public String getMisc() {
        return misc;
    }

    public void setMisc(String misc) {
        this.misc = misc;
    }

    public String getAwaitingITIN() {
        return awaitingITIN;
    }

    public void setAwaitingITIN(String awaitingITIN) {
        this.awaitingITIN = awaitingITIN;
    }

    @Override
    public boolean equals(Object obj) {
        if ((obj == null) ||!(obj instanceof TaxPayerInfo)) {
            return false;
        }

        TaxPayerInfo b  = (TaxPayerInfo) obj;
        boolean      eq = ((id == null) && (b.id == null)) || ((id != null) && id.equals(b.id));

        if (!eq) {
            return false;
        }

        return true;
    }

    @Override
    public int hashCode() {
        return (id != null)
               ? id.hashCode()
               : 0;
    }
}



